The invention relates generally to data communications, and more particularly to systems and methods for transporting client data received at a first rate over an interconnect at a second, higher rate, wherein the client data is combined with dummy data according to a pattern that minimizes the amount of buffer space required to store the received client data.
With the increasing use of computers by businesses, governmental entities and individuals, increasing amounts of data are being used. This information is being used not only by the particular entities that create it, but also by other entities that interact with the originators of the data. There is therefore an increased need to transport the data from one entity to another.
Computers may be coupled together by any different types of interconnecting media. For example, they may be coupled together by direct interconnections or, more commonly, they may be coupled to networks that allow them to communicate with each other. One of the most well-known networks is the Internet. Millions, if not billions of computers are connected to the Internet and are capable of communicating with each other. These computers transport vast amounts of data over the many individual networks that comprise the Internet.
While the mechanics of the individual networks are not apparent to most users, myriad technical issues must be resolved in designing a network system that is capable of allowing different computers to be connected to it, or that is capable of being interconnected with other networks of various types. One of these issues is related to the transport of data that is supplied to the network at a first frequency, when the network itself is designed to transport data at a different frequency.
One mechanism for handling this problem is to buffer the received data and to periodically retrieve the data from the buffer so that it can be transported over the network. Typically, the buffer provided for this purpose is quite large. This allows large amounts of data to be accumulated while the data awaits transport. Having a large amount of data in the buffer may minimize the control that is necessary to avoid buffer underflow. This mechanism may not be suitable in some implementations, however, because the time the data spends in the buffer adds to the latency of its delivery. Further, in some implementations, it may not be practical or desirable to provide a large amount of buffer space for this purpose.
It may therefore be desirable to provide a mechanism for enabling the transport of data at a higher rate than the data is received, while at the same time minimizing the amount of buffer space that is required to store the data.